package com.ytkj.digitalConstruction.dao.assets;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.github.pagehelper.Page;
import com.ytkj.digitalConstruction.entity.assets.Device;
import com.ytkj.digitalConstruction.httpbean.assets.resbean.ResDevice;

/**
 * 设备管理Mapper
 * 
 * @author 常广州
 *
 */
@Mapper
public interface DeviceMapper {
	/**
	 * 添加设备信息
	 * 
	 * @param record
	 * @return
	 */
	Integer insertSelective(Device record);

	/**
	 * 修改设备信息
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKey(Device record);

	/**
	 * 逻辑删除 删除设备操作
	 * 
	 * @param id
	 * @return
	 */
	int updateByIdPrimaryKey(Integer id);

	/**
	 * 查询设备操作
	 * 
	 * @param deviceId
	 * @return
	 */
	Device selectByPrimaryKey(Integer deviceId);

	/**
	 * 根据设备名称校验
	 * 
	 * @param deviceName
	 * @return
	 */
	Device selectByDeviceNamePrimaryKey(String deviceName);

	/**
	 * 根据id查询设备
	 * 
	 * @param deviceId
	 * @return
	 */
	Device selectByDeviceIdPrimaryKey(Integer deviceId);

	/**
	 * 根据Id删除设备
	 * 
	 * @param deviceId
	 * @return
	 */
	int deleteByPrimaryKey(Integer deviceId);

	/**
	 * 新增设备
	 * 
	 * @param record
	 * @return
	 */
	int insert(Device record);

	/**
	 * 修改设备
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(Device record);

	/**
	 * 根据分页参数查询设备
	 * 
	 * @param projectIds
	 * @return
	 */
	Page<ResDevice> selectAllPageable(List<Integer> projectIds);

	int inserts(Device device);

	/**
	 * 批量插入设备
	 * 
	 * @param devices
	 * @return
	 */
	int batchInsert(List<Device> devices);

	/**
	 * 根据部门id查找设备
	 * 
	 * @param projectId
	 * @return
	 */
	List<Device> selectBindDeviceByprojectId(int projectId);

}